
import http from "@/utils/request";
import utils from '@/utils/util.js'

export default {
	PageTuring(url, para) {
		this.hasNext = true;
		this.url = "";
		this.total = 0;
		this.para = {
			pageNum: 0,
			pageSize: 10
		};
		this.init = function(url, param) {
			this.url = url;
			this.para = Object.assign({}, this.para, param || {});
		};
		if (url)
			this.init(url, para);
		this.reset = function() {
			this.para.pageNum = 0;
			this.hasNext = true;
		};
		// 有问题后期使用需修改
		// this.next = async function(data,config = {}) {
		// 	if (!this.hasNext) {
		// 		utils.Tips('没有更多数据了');
		// 		return false;
		// 	}
		// 	this.para.pageNum += 1;
		// 	let reqdata = Object.assign({}, this.para, data || {});
		// 	//console.log('请求数据：'+JSON.stringify(reqdata));
		// 	let headerConfig = { header: {} }
		// 	if (config.header) {
		// 	  Object.assign(headerConfig.header, config.header, headerConfig.header)
		// 	}
		// 	let result = await http.post(this.url,reqdata,headerConfig);
		// 	this.hasNext = !result.data.last;
		// 	this.para.pageNum = result.data.number;
		// 	this.total = result.data.total
		// 	return result;
		// };
		this.more = async function(data) {
			if (!this.hasNext) {
				// utils.Tips('没有更多数据了');
				return false;
			}
			this.para.pageNum += 1;
			let reqdata = Object.assign({}, this.para, data || {});
			let result = await http.get(this.url, { params: reqdata });
			this.hasNext = !((result.data.pageNum * result.data.pageSize) >= result.data.total);
			this.para.pageNum = result.data.pageNum;
			this.total = result.data.total
			return result;
		}
		// this.morePayload = async function(data) {
		// 	if (!this.hasNext) {
		// 		utils.Tips('没有更多数据了');
		// 		return false;
		// 	}
		// 	this.para.pageNum += 1;
		// 	let reqdata = Object.assign({}, this.para, data || {});
		// 	//console.log('请求数据：'+JSON.stringify(reqdata));
		// 	let result = await http.payload(this.url,reqdata);
		// 	this.hasNext = !result.data.last;
		// 	this.para.pageNum = result.data.number;
		// 	this.total = result.data.total
		// 	return result;
		// }

	}
}
